//
//  Helper.h
//  PalmKitchen
//
//  Created by apple on 14-10-14.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface Helper : NSObject

/**
 创建按钮就字体为16的
 
 @param frame 位置
 @param title tittle
 @param imgName 图片
 @param target 1
 @param selector action
 @return button
 */
+ (UIButton *)createBBI:(CGRect)frame title:(NSString *)title image:(NSString *)imgName target:(id)target selector:(SEL)selector;
 
/**
 创建按钮就字体为14的
 
 @param frame 位置
 @param title tittle
 @param imgName 图片1
 @param target 1
 @param selector action、·
 /;;;……………………………………………………
 @return button
 */
+ (UIButton *)createButton:(CGRect)frame title:(NSString *)title image:(UIImage *)image target:(id)target selector:(SEL)selector;

/**
 根据文字大小高度获取宽度
 
 @param string 文字内容
 @param font 字体大小
 @param height 高度
 @return 宽度
 */
+ (CGFloat)widthOfString:(NSString *)string font:(UIFont*)font height:(CGFloat)height;

/**
 根据文字大小宽度度获取高度
 
 @param string 文字内容
 @param font 字体大小
 @param width 宽度
 @return 高度
 */
+ (CGFloat)heightOfString:(NSString *)string font:(UIFont*)font width:(CGFloat)width;

/**
 获取当天的日期：年月日
 
 @return 1
 */
+ (NSDictionary *)getTodayDate;


/**
 两时间比较
 
 @param from 起始时间
 @param to 结束时间
 @return 剩余%ld小时%ld分钟
 */
+ (NSString *)compareFromDate:(NSDate *)from toDate:(NSDate *)to;


/**
 获取今天指定格式时间字符串

 @param formatter formatter
 @return 时间
 */
+(NSString *)getTodayDateForFormatter:(NSString *)formatter;



/**
 //邮箱验证
 
 @param email email
 @return bool
 */
+ (BOOL)justEmail:(NSString *)email;

/**
 //手机号码验证
 
 @param mobile 手机号
 @return bool
 */
+ (BOOL)justMobile:(NSString *)mobile;

/**
 //车牌号验证
 
 @param carNo //车牌号
 @return bool
 */
+ (BOOL)justCarNo:(NSString *)carNo;

/**
 //车型
 
 @param CarType //车型
 @return bool
 */
+ (BOOL)justCarType:(NSString *)CarType;

/**
 //用户名
 
 @param name name
 @return bool
 */
+ (BOOL)justUserName:(NSString *)name;

/**
 //密码
 
 @param passWord //密码
 @return bool
 */
+ (BOOL)justPassword:(NSString *)passWord;

/**
 //昵称
 
 @param nickname //昵称
 @return bool
 */
+ (BOOL)justNickname:(NSString *)nickname;

/**
 //身份证号验证
 
 @param identityCard 身份证号
 @return bool
 */
+ (BOOL)justIdentityCard: (NSString *)identityCard;

/**
 转换成MD5.32位小写
 
 @param string string description
 @return return value description
 */
+ (NSString *)md5SmallString:(NSString *)string;

/**
 转换成MD5.32位大写
 
 @param string string description
 @return return value description
 */
+ (NSString *)md5String:(NSString *)string;

/**
 根据rgb获取颜色
 
 @param red
 @param green
 @param blue
 @param alpha
 @return UIColor
 */
+(UIColor *)colorWithRed:(NSInteger )red green:(NSInteger )green blue:(NSInteger )blue alpha:(NSInteger)alpha;

/**
 接口地址含有中文的转码处理

 @param NSString url
 @return 1NSString
 */

+(NSString *)ChineseUrlForUT8Url:(NSString *)url;

/**
 //token失效自动登录
 
 @return <#return value description#>
 */
+(NSString *)automaticLogin;

/**
 接口请求错误提示
 
 @param error error
 @return NSString
 */
+(NSString *)errorTipError:(NSError *)error;

/**
 //将十六进制的字符串转换成NSString则可使用如下方式:
 
 @param str 16进制字符串
 @return 字符串
 */
+ (NSString *)convertHexStrToString:(NSString *)str;

/**
 //将NSString转换成十六进制的字符串则可使用如下方式:
 
 @param str NSString
 @return 十六进制的字符串
 */
+ (NSString *)convertStringToHexStr:(NSString *)str;

/**
 //一直遍历视图的父视图,找他的响应者.如果响应者是视图控制器,则返回它.
 
 @param view 子视图
 @return 子视图的控制器
 */
+ (UIViewController *)view:(UIView *)view;

/**
 //修改文件名
 
 @param folderName 修改的文件名
 @param beforeName 愿的文件名
 */
+ (void)changeFolderName:(NSString *)folderName beforeName:(NSString *)beforeName;


/**
 //16进制颜色转UIColor
 
 @param color 16进制颜色
 @return UIColor
 */
+ (UIColor *) colorWithHexString: (NSString *)color;

/**
 //  颜色转换为背景图片
 
 @param color UIColor
 @return UIImage
 */
+ (UIImage *)imageWithColor:(UIColor *)color;

/**
//读取CSV文件的数据utf8格式

@param fileName CSV文件名
@return NSMutableArrayCSV内容
*/
+(NSMutableArray *)readCSVDataWithFileName:(NSString *)fileName;

/**
 //读取CSV文件的数据GB_18030_2000格式
 
 @param fileName CSV文件名
 @return NSMutableArrayCSV内容
 */
+(NSMutableArray *)readGB_18030_2000CSVDataWithFileName:(NSString *)fileName;

/**
 //图像压缩成指定大小（高度/宽度）
 
 @param targetSize 指定大小
 @param image UIImage
 @return UIImage
 */
+ (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize image:(UIImage *)image;


//网络监测
+(void)monitorAFNet;


/**
 //时间戳转时间
 
 @param timestamp 时间格式
 @return 时间今天。。，昨天。。等
 */
+(NSString *)timeWithTimestamp:(NSString *)timestamp;


/**
 时间转时间戳
 
 @param timestamp 时间格式
 @return 时间
 */
+(NSString *)timetampWithTimes:(NSString *)time;

/**
 //时间戳转时间
 
 @param timestamp 时间戳
 @param type NSDateFormatter类型
 @return NSString
 */
+(NSString *)timeWithTimestamp:(NSString *)timestamp timeType:(NSString *)type;

/**
 *  压缩图片到指定文件大小
 *
 *  @param image 目标图片
 *  @param size  目标大小（最大值）
 *
 *  @return 返回的图片文件
 */
+(NSData *)scaleImage:(UIImage *)image toKb:(NSInteger)kb;

/**
 *  判断指定文件是否存在
 *
 *  @param fileName <#fileName description#>
 *
 *  @return <#return value description#>
 */
+ (BOOL)isExistFileInDocumentWithFileName:(NSString *)fileName;

/**
 *  资源文件的名字
 *
 *  @param urlString <#urlString description#>
 *
 *  @return <#return value description#>
 */
+ (NSString *)cacheFileNameWithUrlString:(NSString *)urlString;
/**
 *  删除指定文件
 *
 *  @param fileName <#fileName description#>
 *
 *  @return <#return value description#>
 */
+ (BOOL)removeFileInDocumentWithFileName:(NSString *)fileName;


/**
 //视频url转成MP4格式
 
 @param movUrl (NSURL *)movUrl
 @return NSURL
 */
+ (NSURL *)_convert2Mp4:(NSURL *)movUrl;

/**
 //获取视屏时间的画面
 
 @param videoURL videoURL
 @param time 某时间画面
 @return UIImage
 */
+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time;



/**
 //将NSData转换成十六进制的字符串则可使用如下方式:

 @param data data
 @return
 */
+ (NSString *)convertDataToHexStr:(NSData *)data;




/**
 处理webserwer服务器xml数据

 @param XMLstring xml数据
 @return 数据
 */
+(NSString *)handleXMLData:(NSString*)XMLstring;

/**
 判断是否是纯数字
 
 @param str str
 @return BOOL
 */
+ (BOOL) deptNumInputShouldNumber:(NSString *)str;

/**
 带有中文的转换

 @param urlString 图片url地址及
 @param imageType nil默认mid_image
 @return 转化后
 */
+(NSString *)imageUrlStringToChinese:(NSString *)urlString imageType:(NSString *)imageType;


/**
 根据生日获取年龄
 
 @param birth
 @return
 */
+(NSInteger)getAgeWithBirth:(NSString *)birth;

@end


